/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

import edu.ucue.ECU.exp.BuscarDatosAdministradorException;
import edu.ucue.ECU.exp.BuscarDatosEmergenciaException;
import edu.ucue.ECU.exp.BuscarDatosEstadoException;
import edu.ucue.ECU.exp.BuscarDatosOperadorException;
import edu.ucue.ECU.exp.BuscarDatosPersonaException;
import edu.ucue.ECU.exp.GuardarDatosAdministradorException;
import edu.ucue.ECU.exp.GuardarDatosEmergenciaException;
import edu.ucue.ECU.ngc.Administrador;
import edu.ucue.ECU.ngc.Emergencia;
import edu.ucue.ECU.ngc.Estado;
import edu.ucue.ECU.ngc.Operador;
import edu.ucue.ECU.ngc.Persona;
import edu.ucue.ECU.ngc.Tipo;
import java.util.ArrayList;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import static org.junit.Assert.*;

/**
 *
 * @author Usuario
 */
public class testEmergencia {
    Emergencia emergencia;
    public testEmergencia() {
    }
    
    @BeforeClass
    public static void setUpClass() {
    }
    
    @AfterClass
    public static void tearDownClass() {
    }
    
    @Before
    public void setUp() {
        emergencia=new Emergencia(null, null, null, null, null, null, null);
    }
    
    @After
    public void tearDown() {
    }
    // TODO add test methods here.
    // The methods must be annotated with annotation @Test. For example:
    //
    // @Test
    // public void hello() {}
    @Test (expected = GuardarDatosEmergenciaException.class)
    public void testGrabarDatos() throws GuardarDatosEmergenciaException, BuscarDatosEmergenciaException, BuscarDatosPersonaException, BuscarDatosEstadoException, BuscarDatosOperadorException{
        Operador o=new Operador();
        o.setNombre("o");
        o.buscarNombre();
        Estado e=new Estado();
        e.setNombre("Registrado");
        e.buscar();
        Tipo t=new Tipo();
        t.setNombre("Incendio");
        t.buscar();
        Persona p=new Persona();
        p.setCedula("010");
        p.setNombre(null);
        emergencia.setOperador(o);
        emergencia.setPersona(p);
        emergencia.setEstado(e);
        emergencia.setTipo(t);
        emergencia.grabar();
    }
    @Test (expected = BuscarDatosEstadoException.class)
    public void testGrabarDatos1() throws GuardarDatosEmergenciaException, BuscarDatosEmergenciaException, BuscarDatosPersonaException, BuscarDatosEstadoException, BuscarDatosOperadorException{
        Operador o=new Operador();
        o.setNombre("o");
        o.buscarNombre();
        Estado e=new Estado();
        e.setNombre(null);
        e.buscar();
        Tipo t=new Tipo();
        t.setNombre("Incendio");
        t.buscar();
        Persona p=new Persona();
        p.setCedula("010");
        p.setNombre(null);
        emergencia.setOperador(o);
        emergencia.setPersona(p);
        emergencia.setEstado(e);
        emergencia.setTipo(t);
        emergencia.grabar();
    }    
    @Test (expected = BuscarDatosEmergenciaException.class)
    public void testGrabarDatos2() throws GuardarDatosEmergenciaException, BuscarDatosEmergenciaException, BuscarDatosPersonaException, BuscarDatosEstadoException, BuscarDatosOperadorException{
        Operador o=new Operador();
        o.setNombre("o");
        o.buscarNombre();
        Estado e=new Estado();
        e.setNombre("Registrado");
        e.buscar();
        Tipo t=new Tipo();
        t.setNombre(null);
        t.buscar();
        Persona p=new Persona();
        p.setCedula("010");
        p.setNombre(null);
        emergencia.setOperador(o);
        emergencia.setPersona(p);
        emergencia.setEstado(e);
        emergencia.setTipo(t);
        emergencia.grabar();
    }      

    @Test 
    public void testRecuperarReporte() throws BuscarDatosEmergenciaException{
        emergencia.setIdEmergencia(-1);
        ArrayList a=new ArrayList();
        assertEquals(a, emergencia.RecuperarReporte(emergencia.getIdEmergencia()));
    }     
}